Efficiency in task completion is measured through how much time it takes for a user to complete their task. One major contributor to task completion is query formulation. The less time the user has to spend typing a query, looking over results, and then refining subsequent queries just to find the ideal result, the better. One such extreme case is an intelligent personal voice recognition assistant where the user no longer has to type a query on a small touch keyboard, but simply to speak the query. However, speech is not always a preferred way to input text due to various reasons (e.g., privacy).
People use multiple desktop applications in order to complete a single task. For example, if a user is researching the topic of “dancing” for school, the user will use a first application to write things down as well as a second application such as a browser, to search different styles of dancing. However, in existing systems, the two applications are completely disconnected from each other. The first application does not provide the browser implicit hints as to what the user might be seeking when there is a switch from the first application to the second application. The user perceives tasks in the totality. However, since applications are typically disconnected, and not mediated in any way by the operating system (OS), the computing system has no idea as to the overall goal of the user.